package com.djinfo.work.util;

/**
 * 枚举
 * 
 * @author wxf
 * 
 */
public class UtilEnum {
	/**
	 * 2.5.3.3 文件作用表TB_EXT_FilesEffect EffectType文件作用类型 实现带有抽象方法的枚举
	 */
	public enum EffectType {
		/** 资料文件 */
		Datafile {
			public Integer getName() {
				return 0;
			}
		},
		/** 名词术语批量导入文件 */
		BatchImportFile {
			public Integer getName() {
				return 1;
			}
		},
		/** 名词术语文章 */

		TermArticle {
			public Integer getName() {
				return 2;
			}
		},
		/** 产品文档 */
		ProductDocumentation {
			public Integer getName() {
				return 3;
			}
		};

		public abstract Integer getName();
	}

	/**
	 * 2.5.4.2 审核记录表 tb_fact_audireco 表名称
	 * 
	 * @author wxf
	 *
	 */
	public enum TableName {
		// 2.5.2.1 资料信息主表
		TbDicMaterials {
			public String getTableName() {
				return "tb_dic_materials";
			}
		},
		TbRnMaterialTheme {
			public String getTableName() {
				return "tb_rn_material_theme";
			}
		},
		// 2.5.3.1 文件记录表
		TbDicFiles {
			public String getTableName() {
				return "tb_dic_files_version";
			}
		},
		// 2.5.3.4 结构化文章表TB_DIC_Articles
		TbDicArticles {
			public String getTableName() {
				return "tb_dic_articles";
			}
		},
		// 2.5.5.1 TB_DIC_Termimologies 名词术语主表
		TbDicTermimologies {
			public String getTableName() {
				return "tb_dic_termimologies";
			}	
		},
	
		TbDicRuledesc {
			public String getTableName() {
				return "tb_ruledesc";
			}
		},

		TbDicRules {
			public String getTableName() {
				return "tb_rules";
			}
		},
		TbRuleFormula {
			public String getTableName() {
				return "tb_rule_formula";
			}
		},
		TbDicSystem {
			public String getTableName() {
				return "tb_dic_system";
			}
		},
		;
		public abstract String getTableName();

	}

	/**
	 * 2.5.4.2 审核记录表 tb_fact_audireco 审核状态
	 * 
	 * @author wxf
	 *
	 */
	public enum AudiStatus {
		// 未提交
		NotSubmitted {
			public Integer getName() {
				return 0;
			}

		},
		// 待审核
		PendingSubmission {
			public Integer getName() {
				return 1;
			}

		},
		// 审核中
		Audit {
			public Integer getName() {
				return 2;
			}

		},
		/**
		 * 通过
		 */
		Adopt {
			public Integer getName() {
				return 3;
			}

		},
		// 异议
		Demurrer {
			public Integer getName() {
				return 4;
			}

		};

		public abstract Integer getName();

	}
	/**
	 * 2.5.4.2 文件版本 tb_dic_files_version  是否禁用
	 *
	 * @author wxf
	 *
	 */
	public enum FileStatus {
		// 不禁用
		NotDisable {
			public Integer getName() {
				return 1;
			}

		},
		// 禁用
		Disable {
			public Integer getName() {
				return 2;
			}

		};
		public abstract Integer getName();

	}
	/**
	 * 2.5.3.2 文件历史版本表 tb_ext_filesversion 版本号
	 * 
	 * @author wxf
	 *
	 */
	public enum VersionNum {
		version1 {
			public String getName() {
				return "万达临床决策1.0";
			}
		},
		version2 {
			public String getName() {
				return "万达临床决策2.0";
			}
		};
		public abstract String getName();
	}

	public enum SysOperationType {
		SysLogin {
			public String getName() {
				return "登录系统操作";
			}
		},
		SysLogout {
			public String getName() {
				return "登出系统操作";
			}
		},
		SysPageOpen {
			public String getName() {
				return "打开页面";
			}
		};
		public abstract String getName();
	}

	/**
	 * 2.5.4.3审核异议表tb_ext_audidissent 沟通结果
	 */
	public enum CommuResult {
		// 沟通中
		communicated {
			public Integer getName() {
				return 0;
			}

		},
		// 修改（接受异议）
		modify {
			public Integer getName() {
				return 1;
			}

		},
		// 保留异议（未修改审核通过）
		retain {
			public Integer getName() {
				return 2;
			}

		};

		public abstract Integer getName();

	}
	
	/**
	 * 系統维护日志类型
	 * @author Administrator
	 *
	 */
	public enum OperationLogType{
		//保存
		Save {
			public Integer getType() {
				return 1;
			}
		},
		//提交
		Submit {
			public Integer getType() {
				return 2;
			}
		},
		
		 // 修改 
		Updata {
			public Integer getType() {
				return 3;
			}
		},
		//删除
		Delete {
			public Integer getType() {
				return 0;
			}
		};
		

		public abstract Integer getType();
	}
	
	/**
	 * 表类型：信息主表、辅助表
	 * @author longyaohua
	 *
	 */
	public enum TableType{
		/**
		 * 主表
		 */
		MainTable { 
			public Integer getType() {
				return 0;
			}
		},
		
		/**
		 * 辅助表
		 */
		ExtendedTable { 
			public Integer getType() {
				return 1;
			}
		};
		
		public abstract Integer getType();
	}

	// 调用方法
	// System.out.println(EffectType.values()[0].getName());

}